package com.boss.salary.dao;

import com.boss.framework.dto.PaginationDTO;
import com.boss.salary.entity.BaseData;
import com.boss.sys.ca.user.dto.UserDTO;

import java.util.List;
import java.util.Map;

public interface IBaseDateDao {

    /**
     * 通过传入类型获取不同基础数据
     *
     * @return
     */
    List<Map<String, Object>> queryBaseDataList(Map<String, Object> queryParam);

    /**
     * * 录入基础数据
     * @param baseDate
     */

    void saveBaseData(BaseData baseDate);

    /**
     * 修改基础数据
     * @param baseDate
     */
    void updateBaseData(BaseData baseDate);

    /**
     * 分页查询 基础数据
     * @param paginationDTO
     * @return
     */
    List<BaseData> queryBaseDataPage(PaginationDTO paginationDTO, Map<String, Object> queryParam);

    /**
     * 查询分页总数
     * @param queryParam
     * @return
     */
    int queryBaseDataPageTotil(Map<String, Object> queryParam);

    /**
     * 判断基础数据是否存在
     * @param baseDate
     * @return
     */
    int selectBaseDataIsExist(BaseData baseDate);

    /**
     * 获取基础数据
     * @param type
     * @return
     */
    BaseData selectBaseDataByTypeCode(String type,String code,String province);


    void deleteSalaryType(BaseData baseData, UserDTO userDTO);

    void personTypeSalary(BaseData baseData, UserDTO userDTO);
}
